package com.example.Mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.example.pojo.Customer;
import com.example.pojo.Materialzhu;
import com.example.pojo.Xs_bj;
import com.example.pojo.Xs_bjinfo;
import com.example.vo.CustVo;
import com.example.vo.LrygVo;
import com.example.vo.LsjyVo;
import com.example.vo.Matvo;


@Mapper
public interface XsbjDao {
	/**
	 * 在保存时查询，如果有值则新增，没有值则修改
	 * @param Billno
	 * @return
	 */
	public Integer querycount(String Billno);
		
	/**
	 * 点击新增 销售报价主详表
	 * @param bj
	 */
  public void addbj(Xs_bj bj);
  /**
   * 点击删除 销售报价单主详表
   * @param billno
   */
  public void deletebj(String billno);
  /**
   * 点击审核，修改报价单主单的状态
   * @param billno
   */
  public void updatestatus(String billno);
  /**
   * 点击审核时，判断是否已经审核过
   * @param billno
   * @return
   */
  public Integer querystatus(String billno);
  
  /**
   * 点击反审核，修改报价单主单的状态
   * @param billno
   */
  public void updatestatus2(String billno);
  
  /**
   * 点击修改 后点击保存  修改主单据，并且删除子单再次新增
   * @param bj
   */
  public void updatebj(Xs_bj bj);
  public void deletebjinfo(String billno);
  public void addbjinfo(Xs_bjinfo info);
  
  /**
   * 分页查询销售报价单的主单和详单
   * @param page
   * @param size
   * @return
   */
  public List<Xs_bj> queryBypage(int pagenum,int pagesize);
  
  public List<Xs_bjinfo> querybyid(String billno);
  
  /**
   * 查询数据库中所有数据条数
   * @return
   */
  public Integer queryallcount();
  /**
   * 查询最大的单号
   * @return
   */
  public String querymax(String billdates);
  /**
   * 查询所有客户
   * @return
   */
  public List<Customer> querycust();
  /**
   * 根据客户id查询客户信息
   * @param cid
   * @return
   */
  public CustVo querybycid(String cid);
  /**
   * 查询所有的物料信息
   * @return
   */
  public List<Materialzhu> querymat();
  
  /**
   * 根据物料id查询物料的所有信息
   * @param mid
   * @return
   */
  public Matvo querybymatid(String mid);
  
  /**
   * 报价表    历史交易查询    根据客户id查询所有的销售报价详细表，销售订单详表，出库单详细
   * @return
   */
  public List<LsjyVo> querybycust(String custno);
  public List<LsjyVo> querybycust2(String custno);
  public List<LsjyVo> querybycust3(String custno); 
  /**
   * 查询并计算报价单详表中的利润预估
   * @param billno
   * @return
   */
  public List<LrygVo> querybybill(String billno);
}
